package com.example.team.service.Imp;

import com.example.team.dao.IItemDistributionDao;
import com.example.team.entity.ItemDistribution;
import com.example.team.service.IItemDistributionService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 编写者：蓝江富
 * 时间：2023年10月31日19:00:37
 */
//服务接口规范的方法实现
@Service
public class IItemDistributionServiceImpl implements IItemDistributionService {

    @Autowired
    private IItemDistributionDao itemDistributionMapper;
    @Override
    public int insertItemDistribution(ItemDistribution itemDistribution) {
        //设置成功状态
        int itemDistributionValue;
        ItemDistribution itemDistribution1=new ItemDistribution();
        itemDistribution1.setDistributionId(itemDistribution.getDistributionId());
        ItemDistribution allItemDistribution=itemDistributionMapper.getItemDistributionById(itemDistribution1);
        if(allItemDistribution!=null){
            itemDistributionValue = -1;
        }else {
            itemDistributionValue= itemDistributionMapper.insertItemDistribution(itemDistribution);
        }
        //返回状态码
        return itemDistributionValue;
    }

    @Override
    public int deleteItemDistribution(ItemDistribution itemDistribution) {
        //设置成功状态
        int itemDistributionValue;
        ItemDistribution itemDistribution1=new ItemDistribution();
        itemDistribution1.setIssuer(itemDistribution.getIssuer());
        List<ItemDistribution> allItemDistribution=itemDistributionMapper.getAllItemDistribution(itemDistribution1);
        if(allItemDistribution.size()==0){
            itemDistributionValue = -1;
        }else {
            itemDistributionValue= itemDistributionMapper.deleteItemDistribution(itemDistribution);
        }
        //返回状态码
        return itemDistributionValue;
    }

    @Override
    public int updateItemDistribution(ItemDistribution itemDistribution) {
        //设置成功状态
        int itemDistributionValue;
        //通过主键id对数据更新，判断是否存在目标id
        ItemDistribution itemDistribution1=new ItemDistribution();
        itemDistribution1.setDistributionId(itemDistribution.getDistributionId());
        ItemDistribution allItemDistribution=itemDistributionMapper.getItemDistributionById(itemDistribution1);
        if(allItemDistribution==null){
            //如果为空，说明无法找到匹配的目标Id，设置状态码-1
            itemDistributionValue = -1;
        }else {
            //否则执行更新数据库功能，同时赋值更新成功的数据数量到状态码
            itemDistributionValue= itemDistributionMapper.updateItemDistribution(itemDistribution);
        }
        //返回状态码
        return itemDistributionValue;
    }

    @Override
    public List<ItemDistribution> getAllItemDistribution(ItemDistribution itemDistribution) {
        return itemDistributionMapper.getAllItemDistribution(itemDistribution);
    }

    @Override
    public ItemDistribution getItemDistribution(ItemDistribution itemDistribution) {
        return itemDistributionMapper.getItemDistribution(itemDistribution);
    }
}
